package jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * 事务控制
 */
public class Demo11 {
    public static void main(String[] args) {
        try (Connection conn = DBUtil.getConnection();){

            //如果需要自行控制事务,需要通过Connection将自动提交事务关闭,默认自动提交事务是开启的
            //而且该方法相当于执行了BEGIN;(开启了一个事务)
            conn.setAutoCommit(false);
            String aql = "DELETE FROM user WHERE id=?";
            PreparedStatement ps = conn.prepareStatement(aql);
            ps.setInt(1,5);
            int num = ps.executeUpdate();
            System.out.println(num>0?"删除成功":"删除失败");
//            conn.rollback();
//            System.out.println("事务回滚了");
            conn.commit();
            System.out.println("事务提交了");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
